14. 如何测试你的代码

你可以在项目提交之前对你的代码进行测试,请根据下面的提示来进行操作。

如何在工作区测试代码

本页面主要介绍如何使用教室中的 workspace 运行 python 脚本进行项目代码的测试。本地运行 python 的方法,可以回顾之前课程中的讲解: 【课程 5:脚本编写——5. 运行 Python 脚本】

1. 新建终端

想要在 workshop 中运行 python 脚本,首先要新建一个终端。

  • 点击 NEW TERMINAL 或者 + 按钮新建终端:

  • 点击 NEW TERMINAL 的具体操作流程如下:

2. 输入命令开始测试

使用 python file_name.py 命令,即可运行文件名称为 file_name.py 的 python 脚本。如果同学没有修改文件名的话,那么一般情况下,该命令应该是 bikeshare.py

在完成项目的所有代码之后,我们需要对代码进行各种测试:

正常输入值测试

按照预期的输入值进行测试,比如:chicago, all, all,看是否可以正确运行,是否有报错:

异常输入值测试

输入一些异常的值,比如大小写不统一,随便输入乱码等,测试是否可以正常运行而不抛出错误:

各种值的组合测试

尝试筛选每一个城市的数据进行统计计算,因为三个城市的数据集存在数据差异。对不同的月份和星期进行随机筛选。比如:

  • Chicago, January, all
  • Chicago, February, Monday
  • New York City, March, Tuesday
  • New York City, April, Wednesday
  • Washington, May, Saturday
  • Washington, June, Friday

3. 常见错误

  • 常见语法错误: 提示: 检查报错所在的代码行
    • 注意有没有中文标点,常见的有逗号、冒号、括号、引号等
    • 注意缩进层级,建议统一使用四个空格作为一个缩进层级
  • 没有控制有效输入,在输入异常值的时候报错;
    提示: 使用 while 循环来控制有效输入;
  • 没有统一大小写,导致输入不同大小写的单词时出现报错,或被误判为异常值;
    提示: 使用 lower() , upper() , title() 等内置函数对输入值进行统一处理;
  • 只进行了统计计算,没有打印出来,这样在测试运行时看不到展示结果;
    提示: 为每个统计计算的结果添加 print 语句
  • 没有正确理解“站点组合”( # TO DO: display most frequent combination of start station and end station trip )的概念。 提示: 举例来理解。乘客某一次行程是从 A 到 B,那么他本次行程的站点组合就是 A->B,某一次的行程是从 A 到 C,那么本次的站点组合是 A->C,假设,有很多次行程,这些组合分别是:[A->B, A->C, B->C, C->A, A->B, D->C],那么其中最多的站点组合是哪个?
    在这个例子中,最多的开始站是 A(出现了 3 次),最多的结束站是 C(出现了 3 次),但是最多的站点组合是 A->B(出现了两次)。
  • 某个变量未定义;
    提示: 检查该变量所在的函数中是否有这个变量的赋值语句,这个变量是否在该函数需要传入的参数中。如果对函数的传参、返回以及变量作用域等概念不理解或者不熟悉,可以复习 【课程 4:函数的前 7 小节】 ,更多相关概念的讲解,参考中文资料 Python3 函数 、英文资料 How To Define Functions in Python 3
  • 没有注意到城市之间的数据差异,华盛顿数据集中缺少 Gender Birth Year 列,如果对华盛顿的数据集做这两列的统计计算,就会报错 KeyError
    提示: 可以使用 if/else 或者 try/except 语句 进行容错处理。